package com.cbgolf.oa.contract;

import com.cbgolf.oa.BasePresenter;
import com.cbgolf.oa.base.IBaseView;
import com.cbgolf.oa.entity.TeeTimeBean.TeeTimesBean;
import com.cbgolf.oa.event.Events;
import com.cbgolf.oa.waiter.IBaseWaiter;

/**
 * Author: lq
 * Created on 2018/6/4
 */
public interface ITeetimeContract {

  interface IView extends IBaseView<Events> {
    //TODO add abstract method related with view
  }

  interface Presenter extends BasePresenter<IView> {

    //TODO add abstract method for Presenter
    void requestAbCode();
    void requestTeetime(long time, String abCode);
    void addPerson(TeeTimesBean bean);

    void reducePerson(TeeTimesBean bean);

  }

  interface Model {

    //TODO add abstract method for Model
    void requestAbCode();

    void requestTeetime(long time, String abCode);

    void addPerson(TeeTimesBean bean);

    void reducePerson(TeeTimesBean bean);
  }

  interface Waiter extends IBaseWaiter {

    void requestTeetime(long time, String abCode);

    void refresh();

    void addPerson(TeeTimesBean bean);

    void reducePerson(TeeTimesBean bean);

    void showCloseParkList();
  }
}